package file;

import java.io.File;
import java.io.FileFilter;

/**
 * 演式过滤器
 * ListFiles()方法提供一个重载，可以传入一个文件过滤器的要求的子项返回
 */
public class ListGilesDem2 {
    public static void main(String[] args) {
        //权获取当前项目目录下所有文本文件(文件名以".txt"结尾)
        File dir = new File(".");
        if (dir.exists()) {
            FileFilter filter = new FileFilter() {
                //重写accept方法就是定义过来器的接收条件
                //重写原则：当前数file对象是该过滤器接收的元素是返回true，赋值返回false
                public boolean accept(File file) {
                    String name = file.getName();
                    return name.endsWith(".txt");//判断是否是以".text"结尾
                }
            };
            //返回目录中所有满足过滤器要求的子项
            File[] subs=dir.listFiles(filter);
            for(File sub:subs){
                System.out.println(sub.getName());
            }
        }
        /*
        File file=new File("./src");
        if(file.exists()){
            FileFilter filter1=new FileFilter() {
                @Override
                public boolean accept(File file1) {
                    String name=file1.getName();
                    return name.startsWith("day");
                }
            };
            File[] subs=file.listFiles(filter1);
            for(File sub:subs){
                System.out.println(sub.getName());
            }
        }else {
            System.out.println("不存在");
        }

         */
    }
}
